package basics.jvm;

import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;

/**
 * @author or2
 * @Description 项 Integer 的 动态数组中 添加其他元素
 * @create 2021年09月15日 时间: 10:56
 */
public class ListGeneric {
    public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {

        List<Integer> list = new ArrayList<>();
        list.add(0);
//        没处理异常
        ArrayList.class.getMethod("add", Object.class).invoke(list, "or2");
        ArrayList.class.getMethod("add", Object.class).invoke(list, 1.2);
        ArrayList.class.getMethod("add", Object.class).invoke(list, '\u001b');

        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

        System.out.println("—————————————————— 原始类型 ——————————————————————————————————————");
        ArrayList objects = new ArrayList();
        objects.add("or2");
        objects.add(1.2);
        objects.add('\u001b');
        objects.forEach(o -> System.out.println(o + "-" + o.getClass()));

        System.out.println(int.class);
        System.out.println(Integer.class);
        System.out.println(int[].class);
        System.out.println(Integer[].class);
    }
}
